#include "../include/temel.h"

//Static vektör tanımladığım için böyle bişey yaptım
//std::vector<Temel*> Temel::vRender;
Temel::Temel()
{
    frameBounce.x = 0;
    frameBounce.y = 0;
    bounce.x = 0;
    bounce.y = 0;

    sprites = NULL;
    spriteX=0;
    spriteY=0;
    spriteW = 0;
    spriteH = 0;
}

Temel::~Temel()
{
    SDL_FreeSurface(sprites);
}

void Temel::Render(SDL_Surface* screen)
{

}

void Temel::Logic()
{

}

void Temel::setSpriteImage(std::string path)
{
    sprites = IMG_Load(path.c_str());
    if(!sprites)
        exit(13);
}

SDL_Rect Temel::getBounce()
{
//    SDL_Rect temp;
//	temp.x = (Sint16)(getX() - spriteW/2);
//	temp.y = (Sint16)(getY() - spriteH/2);
//	temp.w = (Sint16)(spriteW);
//	temp.h = (Sint16)(spriteH);

	return bounce;
}

SDL_Rect Temel::getBounce2()
{
    SDL_Rect temp;
	temp.x = (Sint16)(getX() - spriteW/2);
	temp.y = (Sint16)(getY() - spriteH/2);
	temp.w = (Sint16)(spriteW);
	temp.h = (Sint16)(spriteH);

	return temp;
}

SDL_Rect Temel::NormalizeBounds(const SDL_Rect& rect)
{
	SDL_Rect normalized;
	normalized.x = rect.x - (Sint16)getX() + (Sint16)(spriteW/2) + getFrameBounce().x;
	normalized.y = rect.y - (Sint16)getY() + (Sint16)(spriteH/2) + getFrameBounce().y;
	normalized.w = rect.w;
	normalized.h = rect.h;

	return normalized;
}
